package cn.itcast.nems.product.web.vo;

import cn.itcast.nems.product.dto.ClassTypeCampusDTO;

import java.util.ArrayList;
import java.util.List;

/**
 * @author liyong
 * create: 2023-10-20 15:59:19
 **/
public class PriceChangeAssembler {

    public static List<ClassTypeCampusDTO> toClassTypeCampusDTO(List<PriceChangeVO> priceChanges) {
        List<ClassTypeCampusDTO> result = new ArrayList<>();
        if (priceChanges != null && !priceChanges.isEmpty()) {
            priceChanges.forEach(pc ->
                    result
                            .stream()
                            .filter(dto -> dto.getClassTypeId().contentEquals(pc.getClassTypeId()))
                            .findAny()
                            .ifPresentOrElse(dto -> dto.addCampusIds(pc.getCampusIds()), () -> {
                                ClassTypeCampusDTO dto = new ClassTypeCampusDTO();
                                dto.setClassTypeId(pc.getClassTypeId());
                                dto.setCampusIds(pc.getCampusIds());
                                result.add(dto);
                            })
            );
        }
        return result;
    }
}
